package model

type GetCompanyExpireDeviceListReq struct {
	PageModel
}

type GetCompanyExpireDeviceListResp struct {
	Code      int                            `json:"code"`      // 状态码，1 表示成功，-1表示失败
	Message   string                         `json:"message"`   // 消息描述
	Data      GetCompanyExpireDeviceListData `json:"data"`      // 数据，可以为 null
	Timestamp int64                          `json:"timestamp"` // 时间戳
}

type GetCompanyExpireDeviceListData struct {
	List  []CardInfo `json:"list"`  // 卡片信息列表
	Count int        `json:"count"` // 卡片总数
}

type CardInfo struct {
	DeviceNum  string `json:"deviceNum"`  // 设备编号
	Imsi       string `json:"imsi"`       // 国际移动用户识别码
	Msisdn     string `json:"msisdn"`     // 物联网卡号
	EPeriod    string `json:"ePeriod"`    // 到期时间
	CardStatus string `json:"cardStatus"` // 卡片状态
	Price      int    `json:"price"`      // 续费单价 单位/分
}

type CreateCompanyRenewOrderReq struct {
	DeviceNums *[]string `json:"device_nums"`  // 设备编号列表.不传或者为空表示续费所有待续费设备
	OutTradeNo *string   `json:"out_trade_no"` // 续费订单号.日期时间+6位随机数字,示例: 2025010817301066258
}

type CreateCompanyRenewOrderResp struct {
	Code      int                         `json:"code"`      // 状态码，1 表示成功，-1表示失败
	Message   string                      `json:"message"`   // 消息描述
	Data      CreateCompanyRenewOrderData `json:"data"`      // 数据，可以为 null
	Timestamp int64                       `json:"timestamp"` // 时间戳
}

type CreateCompanyRenewOrderData struct {
	AtuSubMerId  string `json:"atuSubMerId"`  // 子商户ID
	BankCode     string `json:"bankCode"`     // 银行代码
	BankMessage  string `json:"bankMessage"`  // 银行返回的消息
	HfSeqId      string `json:"hfSeqId"`      // 汇付序列号
	HuifuId      string `json:"huifuId"`      // 汇付ID
	IsCleanSplit string `json:"isCleanSplit"` // 是否清分
	PartyOrderId string `json:"partyOrderId"` // 合作方订单ID
	QrCode       string `json:"qrCode"`       // 二维码信息
	ReqDate      string `json:"reqDate"`      // 请求日期
	ReqSeqId     string `json:"reqSeqId"`     // 请求序列号
	RespCode     string `json:"respCode"`     // 响应代码
	RespDesc     string `json:"respDesc"`     // 响应描述
	TradeType    string `json:"tradeType"`    // 交易类型
	TransAmt     string `json:"transAmt"`     // 交易金额
	TransStat    string `json:"transStat"`    // 交易状态
	UnconfirmAmt string `json:"unconfirmAmt"` // 未确认金额
}

type GetCompanyRenewStatusReq struct {
	OutTradeNo string `json:"out_trade_no"` // 续费订单号.日期时间+6位随机数字,示例: 2025010817301066258
}

type GetCompanyRenewStatusResp struct {
	Code      int                       `json:"code"`      // 状态码，1 表示成功，-1表示失败
	Message   string                    `json:"message"`   // 消息描述
	Data      GetCompanyRenewStatusData `json:"data"`      // 数据，可以为 null
	Timestamp int64                     `json:"timestamp"` // 时间戳
}

type GetCompanyRenewStatusData struct {
	OutTradeNo string `json:"outTradeNo"` // 订单号
	TotalFee   int    `json:"totalFee"`   // 总金额 分
	Num        int    `json:"num"`        // 数量
	DeviceNum  string `json:"deviceNum"`  // 设备号
	IotPhone   string `json:"iotPhone"`   // 卡号
	MaturityAt string `json:"maturityAt"` // 到期时间
	RenewFee   int    `json:"renewFee"`   // 设备续费金额
	IsPaid     int    `json:"isPaid"`     // 是否支付
	RenewState int    `json:"renewState"` // 处理状态
	PaymentAt  string `json:"paymentAt"`  // 支付成功时间
	SuccessAt  string `json:"successAt"`  // 处理成功时间
}
